package wodegua.d25_recursion;

/**
 * 猴子吃桃问题
 * 猴子第一天摘下若干桃子，当即吃了一半，觉得好不过瘾，于是又多吃了一个
 * 第二天又吃了前天剩余桃子数量的一半，觉得好不过瘾，于是又多吃了一个
 * 以后每天都是吃前天剩余桃子数量的一半，觉得好不过瘾，又多吃了一个
 * 等到第10天的时候发现桃子只有1个了，
 * 需求:请问猴子第一天摘了多少个桃子?
 */
public class RecursionDemo1 {
    public static void main(String[] args) {
        System.out.println(f(10,1));
        System.out.println(fu(1));
        System.out.println(fu(2));
        System.out.println(fu(3));
    }

    private static int f(int day, int number){
        if (day == 1) {
            return number;
        } else {
            return f(day - 1, (number + 1) * 2);
        }
    }

    private static int fu(int day) {
        if (day == 10) {
            return 1;
        } else {
            return 2 * fu(day + 1) + 2;
        }
    }


    /**
     * 1    10+1 * 2 = 22
     * 2    4+1 * 2 = 10
     * 3    1+1 * 2 = 4
     * 4    1
     *
     */
}
